package cz.muni.fi.pa165.library.api;

import java.util.List;
import javax.jws.WebService;

/**
 *
 * @author dulinka
 */
@WebService
public interface BookService {

    public BookTO createBook(BookTO book) throws IllegalArgumentException;

    public List<BookTO> findAllBooks();

    public List<BookTO> findAllAvailableBooks();

    public BookTO findBookById(Long id) throws IllegalArgumentException;

    public void updateBook(BookTO book) throws IllegalArgumentException;

    public void deleteBook(BookTO book) throws IllegalArgumentException;
    
    public List<BookTO> findBookByAuthor(String author) throws IllegalArgumentException;

    public List<BookTO> findBookByTitle(String title) throws IllegalArgumentException;

    public List<BookTO> findBookByGenre(Genre genre) throws IllegalArgumentException;

    public List<BookTO> findBookByIsbn(String ISBN) throws IllegalArgumentException;
}
